home *** CD-ROM | disk | FTP | other *** search
- /*
- +----------------------------------------------------------------------+
- | PHP version 4.0 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2001 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 2.02 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available at through the world-wide-web at |
- | http://www.php.net/license/2_02.txt. |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Andi Gutmans <andi@zend.com> |
- | Zeev Suraski <zeev@zend.com> |
- +----------------------------------------------------------------------+
- */
-
- /* $Id: basic_functions.h,v 1.75 2001/03/04 01:17:21 zeev Exp $ */
-
- #ifndef BASIC_FUNCTIONS_H
- #define BASIC_FUNCTIONS_H
-
- #include <sys/stat.h>
-
- #include "zend_highlight.h"
-
- #ifdef TRANS_SID
- # include "url_scanner.h"
- # include "url_scanner_ex.h"
- #endif
-
- extern zend_module_entry basic_functions_module;
- #define basic_functions_module_ptr &basic_functions_module
-
- PHP_MINIT_FUNCTION(basic);
- PHP_MSHUTDOWN_FUNCTION(basic);
- PHP_RINIT_FUNCTION(basic);
- PHP_RSHUTDOWN_FUNCTION(basic);
- PHP_MINFO_FUNCTION(basic);
- PHP_GINIT_FUNCTION(basic);
-
- PHP_FUNCTION(constant);
- PHP_FUNCTION(intval);
- PHP_FUNCTION(doubleval);
- PHP_FUNCTION(strval);
- PHP_FUNCTION(toggle_short_open_tag);
- PHP_FUNCTION(sleep);
- PHP_FUNCTION(usleep);
- PHP_FUNCTION(flush);
- PHP_FUNCTION(gettype);
- PHP_FUNCTION(settype);
- PHP_FUNCTION(ip2long);
- PHP_FUNCTION(long2ip);
-
- /* system functions */
- PHP_FUNCTION(getenv);
- PHP_FUNCTION(putenv);
-
- PHP_FUNCTION(get_current_user);
- PHP_FUNCTION(set_time_limit);
-
- PHP_FUNCTION(get_cfg_var);
- PHP_FUNCTION(set_magic_quotes_runtime);
- PHP_FUNCTION(get_magic_quotes_runtime);
- PHP_FUNCTION(get_magic_quotes_gpc);
-
- void php_is_type(INTERNAL_FUNCTION_PARAMETERS, int type);
- PHP_FUNCTION(is_null);
- PHP_FUNCTION(is_resource);
- PHP_FUNCTION(is_bool);
- PHP_FUNCTION(is_long);
- PHP_FUNCTION(is_double);
- PHP_FUNCTION(is_numeric);
- PHP_FUNCTION(is_string);
- PHP_FUNCTION(is_array);
- PHP_FUNCTION(is_object);
- PHP_FUNCTION(is_scalar);
-
- PHP_FUNCTION(error_log);
-
- PHP_FUNCTION(call_user_func);
- PHP_FUNCTION(call_user_func_array);
- PHP_FUNCTION(call_user_method);
- PHP_FUNCTION(call_user_method_array);
-
- PHP_FUNCTION(register_shutdown_function);
- PHP_FUNCTION(highlight_file);
- PHP_FUNCTION(highlight_string);
- ZEND_API void php_get_highlight_struct(zend_syntax_highlighter_ini *syntax_highlighter_ini);
-
- PHP_FUNCTION(ini_get);
- PHP_FUNCTION(ini_set);
- PHP_FUNCTION(ini_restore);
-
- PHP_FUNCTION(print_r);
-
- PHP_FUNCTION(connection_aborted);
- PHP_FUNCTION(connection_status);
- PHP_FUNCTION(ignore_user_abort);
-
- PHP_FUNCTION(getservbyname);
- PHP_FUNCTION(getservbyport);
- PHP_FUNCTION(getprotobyname);
- PHP_FUNCTION(getprotobynumber);
-
- PHP_NAMED_FUNCTION(php_if_crc32);
-
- PHP_FUNCTION(get_loaded_extensions);
- PHP_FUNCTION(extension_loaded);
- PHP_FUNCTION(get_extension_funcs);
-
- PHP_FUNCTION(register_tick_function);
- PHP_FUNCTION(unregister_tick_function);
-
- PHP_FUNCTION(is_uploaded_file);
- PHP_FUNCTION(move_uploaded_file);
-
- /* From the INI parser */
- PHP_FUNCTION(parse_ini_file);
-
- #ifdef PHP_WIN32
- typedef unsigned int php_stat_len;
- #else
- typedef int php_stat_len;
- #endif
-
- PHPAPI int _php_error_log(int opt_err,char *message,char *opt,char *headers);
-
- #if SIZEOF_INT == 4
- /* Most 32-bit and 64-bit systems have 32-bit ints */
- typedef unsigned int php_uint32;
- #elif SIZEOF_LONG == 4
- /* 16-bit systems? */
- typedef unsigned long php_uint32;
- #else
- #error Need type which holds 32 bits
- #endif
-
- #define MT_N (624)
-
- typedef struct {
- HashTable *user_shutdown_function_names;
- HashTable putenv_ht;
- char *strtok_string;
- char *locale_string;
- char *strtok_pos1;
- char *strtok_pos2;
- char str_ebuf[40];
- zval **array_walk_func_name;
- zval **user_compare_func_name;
- zend_llist *user_tick_functions;
-
- zval *active_ini_file_section;
-
- HashTable sm_protected_env_vars;
- char *sm_allowed_env_vars;
-
- /* pageinfo.c */
- long page_uid;
- long page_inode;
- long page_mtime;
-
- /* filestat.c */
- char *CurrentStatFile;
- php_stat_len CurrentStatLength;
- struct stat sb;
- struct stat lsb;
-
- /* rand.c */
- php_uint32 state[MT_N+1]; /* state vector + 1 extra to not violate ANSI C */
- php_uint32 *next; /* next random value is computed from here */
- int left; /* can *next++ this many times before reloading */
-
- /* syslog.c */
- int syslog_started;
- char *syslog_device;
-
- /* var.c */
- zend_class_entry *incomplete_class;
- zend_bool use_trans_sid;
-
- #ifdef TRANS_SID
- /* url_scanner.c */
- url_adapt_state_t url_adapt_state;
- /* url_scanner_ex.re */
- url_adapt_state_ex_t url_adapt_state_ex;
- #endif
- } php_basic_globals;
-
- #ifdef ZTS
- #define BLS_D php_basic_globals *basic_globals
- #define BLS_DC , BLS_D
- #define BLS_C basic_globals
- #define BLS_CC , BLS_C
- #define BG(v) (basic_globals->v)
- #define BLS_FETCH() php_basic_globals *basic_globals = ts_resource(basic_globals_id)
- extern int basic_globals_id;
- #else
- #define BLS_D
- #define BLS_DC
- #define BLS_C
- #define BLS_CC
- #define BG(v) (basic_globals.v)
- #define BLS_FETCH()
- extern php_basic_globals basic_globals;
- #endif
-
- #if HAVE_PUTENV
- typedef struct {
- char *putenv_string;
- char *previous_value;
- char *key;
- int key_len;
- } putenv_entry;
- #endif
-
- /* Values are comma-delimited
- */
- #define SAFE_MODE_PROTECTED_ENV_VARS "LD_LIBRARY_PATH"
- #define SAFE_MODE_ALLOWED_ENV_VARS "PHP_"
-
- #endif /* BASIC_FUNCTIONS_H */
-